package com.binioter.guideview;

import ohos.agp.components.LayoutScatter;

/**
 * * 遮罩系统中相对于目标区域而绘制一些图片或者文字等view需要实现的接口. <br>
 * * <br>
 * * {@link #getView(LayoutScatter)} <br>
 * * {@link #getAnchor()} <br>
 * * {@link #getFitPosition()} <br>
 * * {@link #getXOffset()} <br>
 * * {@link #getYOffset()}
 * * <br>
 * * 具体创建遮罩的说明请参加{@link GuideBuilder}
 * *
 * <p>
 * Created by binIoter
 */

/**
 * Component
 * <p>
 * Created by Component
 *
 * @since 2021-04-19
 */
public interface Component {

    int FIT_CENTER = MaskView.LayoutParams.PARENT_CENTER;


    /**
     * 需要显示的view
     *
     * @param inflater use to inflate xml resource file
     * @return the component view
     */
    ohos.agp.components.Component getView(LayoutScatter inflater);

    /**
     * 相对目标View的锚点
     *
     * @return int 返回
     */
    int getAnchor();

    /**
     * 相对目标View的对齐
     *
     * @return int 返回
     */
    int getFitPosition();

    /**
     * 相对目标View的X轴位移，在计算锚点和对齐之后。
     *
     * @return X轴偏移量, 单位 dp
     */
    int getxOffset();

    /**
     * 相对目标View的Y轴位移，在计算锚点和对齐之后。
     *
     * @return Y轴偏移量，单位 dp
     */
    int getyOffset();
}
